import { ESearchType } from '@shared/enums'
import { TemplateRef } from '@angular/core'
import { EDateLimitEnum } from './common'

export interface ISearchOption {
  label: string,
  value: string,
}

export interface ISearchSchema {
  label: string, /* label 值 */
  /**
   * I18N key of the label
   */
  labelI18n?: string,
  index: string | Array<any>, /* key 值 */
  placeHolder?: string, /* 占位字符串 */
  value?: string | number | Date | Array<any>, /* 默认值 */
  type?: ESearchType, /* 输入值，input，select... */
  dateLimitType?: EDateLimitEnum, /** 当输入是日期选择框，可以限制天数范围 */
  allowClear?: boolean, /** 是否允许删除 */
  custom?: boolean, /* 是否是自定义项 */
  options?: ISearchOption[], /* 下拉框选择项 */
  component?: TemplateRef<void>,
  customFunc?: (() => string | Array<string | number>), // 和组件一起使用，表示组件中使用的变量,直接取这个值传给后台
}
